import {IconType} from "@/components/IconFont/type";

export type EmptyObject = Record<never, unknown>;


export type GardenCropType = iGardenCropType

export interface iGardenCropType {
  ripeStage: number;
  score?: number;
  goodsNum?: number;
  group?: number;
}

export enum CropType {
  CORN = 'corn',
  PEA = 'pea',
  PUMPKIN = 'pumpkin',
  CLUSTER = 'cluster',
  FLOWER = 'flower'
}

export type GardenFlowerType = iGardenFlowerType

export interface iGardenFlowerType {
  name: FlowerName;
  chineseName: FlowerName;
  direction: string;
  plotIndex: number;
}

export enum FlowerName {
  TULIP = "tulip",
  HYDRANGEA = "hydrangea",
  IRIS = "iris",
  HYACINTH = "hyacinth",
  SAFFRON = "saffron",
  DAFFODIL = "daffodil",
  CHINESE_TULIP = "郁金香",
  CHINESE_HYDRANGEA = "绣球花",
  CHINESE_IRIS = "鸢尾花",
  CHINESE_HYACINTH = "风信子",
  CHINESE_SAFFRON = "番红花",
  CHINESE_DAFFODIL = "黄水仙",
}

export type FlowerTips = iFlowerTips

export interface iFlowerTips {
  isInsideIcon?: boolean;      // 是否有内嵌图标
  insideIconType?: IconType;   // 内嵌字体图标类型
  slot?: {                     // 提示类型
    icon?: {
      type?: IconType;         // 图标提示
      number?: number;         // 分值提示
      descIn?: string;         // 图标附带文字提示
    }
    descOut?: string;          // 纯文字提示
  };
}

export enum FruitName {
  APPLE = 'apple',
  PEACH = 'peach',
  BLACKBERRY = 'blackberry',
  RASPBERRY = 'raspberry',
  CHINESE_APPLE = '苹果',
  CHINESE_PEACH = '桃子',
  CHINESE_BLACKBERRY = '黑莓',
  CHINESE_RASPBERRY = '树莓',
}

export interface iFruit {
  name: FruitName;
  chineseName: FruitName;
  currentStage?: number;
  maxStep: number;
  score?: number;
  goodsNum?: number;
  isRipen?: boolean;
  isGainFruits: boolean;
  isCanGain: boolean;
  growUp?: Function;
}

export enum BuffType {
  FARM = "farm",
  FRUIT = "fruit",
  TOOL = "tool"
}

export type ActionType = ActionName

export enum ActionName {
  PLANT = "plant",
  WATER = "water",
  FARM = "farm",
  FLOWER = "flower",
  BEEHIVE = "beehive",
  FRUIT = "fruit",
  TOOL = "tool",
  BONUS = "bonus",
  COMPOST = "compost",
  GOODS = "goods",
  MARKET = "market",
  RAIN = "rain",
}